Uploaded image for project: 'Apache Freemarker'
  1. Apache Freemarker
  2. FREEMARKER-80

Performance bottleneck (from profiling)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3.26-incubating
    • None
    • engine
    • None
    • Linux, Java 8

    Description

      Major performance bottleneck running on a 32-core system, limits effective number of threads to about 6: PropertyDescriptor.getReadMethod() is synchronized, and blocks other threads. Partial stack follows:

      java.beans.PropertyDescriptor.getReadMethod()
      BeanModel.invokeThroughDescriptor()
      BeanModel.get()
      Dot._eval()

      I suspect there's a workaround with using a method call directly in the FTL template, but I haven't figured it out yet. However, this is killing our performance. With Velocity, at the cost of a slower renderer, we can run all 32 cores, and get the job done faster.

      I'm not entirely sure how to figure out which piece of FTL is causing this stack.

      Attachments

        Activity

          People

            Unassigned Unassigned
            arren Shevek
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: